package com.kehutong.payfees.worker;

import java.time.LocalDateTime;
import java.util.List;

import org.coraframework.logger.Logger;
import org.coraframework.logger.LoggerFactory;
import org.coraframework.util.Ioc;

import com.kehutong.common.worker.Worker;
import com.kehutong.payfees.entity.ChargeCallTask;
import com.kehutong.payfees.enums.BillCallMethod;
import com.kehutong.payfees.service.ChargeCallServiceImpl;

/**
 * @author liuzhen (liuxing521a@163.com)
 * @createTime 2020年7月16日下午2:11:25
 */
//public class NoticeWorker implements Worker<NoticeWorker> {
//
//    static final Logger logger = LoggerFactory.getLogger(NoticeWorker.class);
//
//    public NoticeWorker() {
//        this.nextTime = LocalDateTime.now().plusMinutes(3);
//        this.jdbcSession = Ioc.getInstance(SQLSession.class);
//        this.chargeCallService = Ioc.getInstance(ChargeCallServiceImpl.class);
//    }
//
//    private LocalDateTime nextTime;
//    private ChargeCallServiceImpl chargeCallService;
//    private SQLSession jdbcSession;
//
//    @Override
//    public String getId() {
//        return "notice-worker";
//    }
//
//    @Override
//    public void run() {
//        this.doWork();
//    }
//
//    private void doWork() {
//        List<ChargeCallTask> tasks = jdbcSession.findArray(ChargeCallTask.class)
//                .eq("run", false)
//                .eq("callMethod", BillCallMethod.TIMING)
//                .minEq("configCallAt", LocalDateTime.now())
//                .exe();
//
//        for (ChargeCallTask task : tasks) {
//            chargeCallService.buildRunCallTask(task);
//        }
//    }
//
//    @Override
//    public boolean sendAble() {
//        return LocalDateTime.now().isAfter(nextTime);
//    }
//
//    @Override
//    public boolean isEffect() {
//        return true;
//    }
//
//	@Override
//	public LocalDateTime getHandTime() {
//		return null;
//	}
//
//}
